Conventional computer networking environments support the exchange of information and data between many interconnected computer systems using a variety of mechanisms. In an example computer-networking environment such as the Internet, one or more client computer systems can operate client software applications that transmit data access requests using one or more data communications protocols over the computer network to server computer systems for receipt by server software application(s) executing on those servers. The server software application(s) receive and process the client data access requests and can prepare and transmit one or more server responses back to the client computer systems for receipt by the client software applications. In this manner, client/server software applications can effectively exchange data over a network using agreed-upon data formats.
One example of a conventional information exchange system that operates between computer systems over a computer network such as the Internet is provided by a set of applications and protocols collectively referred to as the World Wide Web. In a typical conventional implementation of the World Wide Web, client computer systems operate a client software application referred to as a web browser. A typical web browser operates to provide hypertext transport protocol (HTTP) requests for documents, referred to as “web pages,” over the computer network to web server computer systems. A web server software application operating in the web server computer system can receive and process an HTTP web page request and can return or “serve” a corresponding web page document or file specified (i.e., requested) in the client request back to the requesting client computer system over the computer network for receipt by the client's web browser. The web page is typically formatted in a markup language such as the hypertext markup language (HTML). Data exchanged between clients and servers may also be formatted in other markup languages, such as the extensible markup language (XML) or in a combination of markup languages that allows the one computer system to receive and interpret the data encoded with the markup language information within the document in order to process a response.
In addition to simply accessing web pages, more recent conventional software and networking technologies that work in conjunction with protocols such as HTTP provide complete networked or web-based “applications” or services, sometimes referred to as “web services”, over a computer network such as the Internet. Conventional web services architectures allow server-to-server connectivity, exchange and processing of data for business or other applications. Presently, there is a convergence to the use of XML to encode data that is exchanged between network-based server applications such as the world-wide-web, web services, or other network-based applications since XML is extensible and flexible and can be used to encode data of any type.
Conventional XML processing technologies that operate within computer systems generally rely on software processing to allow the computer systems (e.g., web servers) to interpret and process the XML-encoded data in a variety of ways. Several conventional XML technologies allow a software application to access (e.g., extract) XML-encoded data for application processing purposes. As an example, a web server can use conventional XML software processing technologies such as the Document Object Model (DOM) to convert XML files or documents into a DOM “tree”. The DOM system also includes a set of standardized DOM functions that can be used to navigate the XML data within the DOM tree to access certain portions of the XML encoded data.
Other conventional XML processing technologies include the Simple Application programming interface for XML (SAX) to parse XML encoded data (referred to sometimes as XML documents) to gain access to the content encoded therein. In addition, other XML-related technologies such as the eXtensible Stylesheet Transformation Language (XSLT) allow a developer of an XML-aware software application to define transformations of XML encoded data from one data format to another. Extensible Stylesheet Transformations (XSLT) is a language for converting, or transforming, documents written in XML into other formats, including HTML and other XML vocabularies. An XSL document is used to transform an XML document, or a portion of data contained in such a document, from one format to another (e.g., XML to HTML). A schema is a description in a meta-language specifying the acceptable syntax of an XML vocabulary. A schema document is used to validate an XML document and guarantee its syntax is correct. A filter is an XSLT document used to produce a decision on the acceptability of an input XML document based on an arbitrary set of criteria. A filter verifies an input document based on semantic or other content (transformed or not transformed) not typically related to syntax, and so differs from a schema validation in this way.